#pragma once
#include <QString>
#include <filesystem>

#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include "DataExchange.grpc.pb.h"

class DataReader {

public:
	DataReader();
	virtual ~DataReader();
	virtual void initialize(std::string db) ;
	virtual void listCollections(uint32_t userid, DataExchange::CollectionsResponse* d) =0;
	virtual void listContracts(uint32_t userid, DataExchange::ContractsResponse* d) =0;
	virtual void listFactors(uint32_t userid, DataExchange::FactorsResponse* d) =0;
	virtual void listStrategies(uint32_t userid, DataExchange::StrategiesResponse* d) =0;
	virtual void collectionDetail(uint32_t userid,uint32_t rowid, DataExchange::Collection* d)=0;
};
